﻿namespace Dexter.Dependency.Installation {
	public interface ILayerInstaller {
		/// <summary>
		/// 	Installs all the component needed by the assembly.
		/// </summary>
		/// <param name = "container">The container.</param>
		void ServiceRegistration ( IDexterContainerRegister container );

		/// <summary>
		/// 	Setups the service.
		/// </summary>
		/// <param name = "container">The container.</param>
		void ServiceRegistrationComplete ( IDexterContainerResolver container );

		/// <summary>
		/// 	Setups the service.
		/// </summary>
		/// <param name = "container">The container.</param>
		void ApplicationStarted ( IDexterContainerResolver container );
	}
}